import { nodeResolve } from '@rollup/plugin-node-resolve'
import commonjs from '@rollup/plugin-commonjs'
import typescript from 'rollup-plugin-typescript2';
import terser from '@rollup/plugin-terser';
import dts from "rollup-plugin-dts";

// export default [{
//     input: "./src/main.ts", //入口文件
//     output: [{
//         file: "./dist/router/index.mjs", //打包后的存放文件
//         format: 'es', //输出格式 amd es6 iife umd cjs
//         banner: '', //文件头部添加的内容
//         footer: '', //文件末尾添加的内容
//         preserveModules: false // 保留模块结构
//     }, {
//         file: "./dist/router/index.js", //打包后的存放文件
//         format: 'cjs', //输出格式 amd es6 iife umd cjs
//         banner: '', //文件头部添加的内容
//         footer: '', //文件末尾添加的内容
//         preserveModules: false // 保留模块结构
//     }],
//     external: ["tsbuffer-validator", "koa-compose"],
//     plugins: [
//         typescript(),
//         nodeResolve(),
//         commonjs(),
//         // terser()
//     ]
// }]
// export default [{
//     input: "./src/pack/index.ts", //入口文件
//     output: {
//         file: "./dist/pack/index.js", //打包后的存放文件
//         format: 'cjs', //输出格式 amd es6 iife umd cjs
//         banner: '#!/usr/bin/env node'
//     },
//     external: ["@rollup/plugin-commonjs", "esbuild", "colors", "mri", "chokidar", "unconfig", "tsbuffer-proto-generator", "write", "@rollup/plugin-node-resolve", "rollup", "rollup-plugin-typescript2"],
//     plugins: [
//         typescript(),
//         nodeResolve(),
//         commonjs()
//         // terser()
//     ]
// }]

export default [{
    input: "./src/main.ts", //入口文件
    output: [{
        file: "./dist/router/index.mjs", //打包后的存放文件
        format: 'es', //输出格式 amd es6 iife umd cjs
        banner: '', //文件头部添加的内容
        footer: '', //文件末尾添加的内容
        preserveModules: false // 保留模块结构
    }, {
        file: "./dist/router/index.js", //打包后的存放文件
        format: 'cjs', //输出格式 amd es6 iife umd cjs
        banner: '', //文件头部添加的内容
        footer: '', //文件末尾添加的内容
        preserveModules: false // 保留模块结构
    }],
    external: ["koa-compose", "url", "path", "tsbuffer-validator"],
    plugins: [
        typescript(),
        nodeResolve(),
        commonjs()
    ]
}, {
    input: "./src/pack/index.ts", //入口文件
    output: {
        file: "./dist/pack/index.js", //打包后的存放文件
        format: 'cjs', //输出格式 amd es6 iife umd cjs
        banner: '#!/usr/bin/env node'
    },
    external: ["@rollup/plugin-commonjs", "@rollup/plugin-terser", "esbuild-plugin-replace", "@rollup/plugin-replace", "consola", "esbuild", "colors", "mri", "chokidar", "unconfig", "tsbuffer-proto-generator", "write", "@rollup/plugin-node-resolve", "rollup", "rollup-plugin-typescript2"],
    plugins: [
        typescript(),
        nodeResolve(),
        commonjs(),
        // terser()
    ]
}, {
    input: "./src/routerPlugins/index.ts", //入口文件
    output: {
        file: "./dist/plugins/index.js", //打包后的存放文件
        format: 'cjs', //输出格式 amd es6 iife umd cjs
    },
    plugins: [
        typescript(),
        nodeResolve(),
        commonjs(),
        // terser()
    ]
}, {
    input: "./typing/uniCloud.d.ts",
    output: [{ file: "./dist/type/index.d.ts", format: "es" }],
    plugins: [dts()],
}, {
    input: "./src/utils/db.ts", //入口文件
    output: {
        file: "./dist/utils/db.js", //打包后的存放文件
        format: 'es', //输出格式 amd es6 iife umd cjs
    },
    plugins: [
        typescript(),
        nodeResolve(),
        commonjs(),
        terser()
    ]
}, {
    input: "./src/utils/db.ts",
    output: [{ file: "./dist/utils/db.d.ts", format: "es" }],
    plugins: [dts()]
}, {
    input: "./src/utils/pubFunction.ts", //入口文件
    output: {
        file: "./dist/utils/pubFunction.js", //打包后的存放文件
        format: 'es', //输出格式 amd es6 iife umd cjs
    },
    plugins: [
        typescript(),
        nodeResolve(),
        commonjs(),
        terser()
    ]
}, {
    input: "./src/utils/pubFunction.ts",
    output: [{ file: "./dist/utils/pubFunction.d.ts", format: "es" }],
    plugins: [dts()]
}]